
// 邻接矩阵
// 不是强连通的图（稀疏图）如果用邻接矩阵来表示，则矩阵中将会有很多0，这意味着我们
// 浪费了计算机存储空间来表示根本不存在的边。例如，找给定顶点的相邻顶点，即使该顶点只有
// 一个相邻顶点，我们也不得不迭代一整行。邻接矩阵表示法不够好的另一个理由是，图中顶点的
// 数量可能会改变，而2维数组不太灵活。


// 邻接表
// 我们也可以使用一种叫作邻接表的动态数据结构来表示图。邻接表由图中每个顶点的相邻顶
// 点列表所组成。存在好几种方式来表示这种数据结构。我们可以用列表（数组）、链表，甚至是
// 散列表或是字典来表示相邻顶点列表。下面的示意图展示了邻接表数据结构。
// 尽管邻接表可能对大多数问题来说都是更好的选择，但以上两种表示法都很有用，且它们有
// 着不同的性质（例如，要找出顶点v和w是否相邻，使用邻接矩阵会比较快）。在本书的示例中，
// 我们将会使用邻接表表示法。


// 关联矩阵
// 我们还可以用关联矩阵来表示图。在关联矩阵中，矩阵的行表示顶点，列表示边。如下图所
// 示，我们使用二维数组来表示两者之间的连通性，如果顶点v是边e的入射点，则array[v][e] === 1；
// 否则，array[v][e] === 0。
// 关联矩阵通常用于边的数量比顶点多的情况下，以节省空间和内存。